home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CreatingGames / Utilities / C / ASAP / diskobject.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-09-08  |  2.7 KB  |  74 lines

  1. /*****************************************************************************
  2.  *                                                                           *
  3.  * ASAP - Amiga Software Authoring Platform                                  *
  4.  *                                                                           *
  5.  * Written by Laurie Perrin                                                  *
  6.  *                                                                           *
  7.  * ADiskObject wrapper class                                                 *
  8.  *                                                                           *
  9.  *****************************************************************************/
  10.  
  11. #ifndef ASAP_DiskObject_H
  12. #define ASAP_DiskObject_H
  13.  
  14. #include <New.h>
  15.  
  16. extern "C"
  17. {
  18.  #include <Proto/Icon.h>
  19. }
  20.  
  21. class ADiskObject : public DiskObject
  22. {
  23.  public:
  24.  inline void FreeDiskObject();
  25.  inline void operator delete (void *);
  26.  inline static ADiskObject * GetDefDiskObject(long type);
  27.  inline void * operator new(size_t, long type);
  28.  inline static ADiskObject * GetDiskObject(UBYTE * name);
  29.  inline void * operator new(size_t, UBYTE * name, BOOL New = TRUE);
  30.  inline static ADiskObject * GetDiskObjectNew(UBYTE * name);
  31.  inline BOOL PutDefDiskObject();
  32. };
  33. //----------------------------------------------------------------------------
  34. void ADiskObject::FreeDiskObject ()
  35. {
  36.  ::FreeDiskObject(this);
  37. }
  38. //----------------------------------------------------------------------------
  39. void operator delete (void *)
  40. {
  41. }
  42. //----------------------------------------------------------------------------
  43. ADiskObject * ADiskObject::GetDefDiskObject (long type)
  44. {
  45.  return (ADiskObject *) ::GetDefDiskObject(type);
  46. }
  47. //----------------------------------------------------------------------------
  48. void * ADiskObject::operator new(size_t, long type)
  49. {
  50.  return ADiskObject::GetDefDiskObject(type);
  51. }
  52. //----------------------------------------------------------------------------
  53. ADiskObject * ADiskObject::GetDiskObject (UBYTE * name)
  54. {
  55.  return (ADiskObject *) ::GetDiskObject(name);
  56. }
  57. //----------------------------------------------------------------------------
  58. void * ADiskObject::operator new(size_t, UBYTE * name, BOOL New)
  59. {
  60.  return New? ADiskObject::GetDiskObject(name) : ADiskObject::GetDiskObjectNew(name);
  61. }
  62. //----------------------------------------------------------------------------
  63. ADiskObject * ADiskObject::GetDiskObjectNew (UBYTE * name)
  64. {
  65.  return (ADiskObject *) ::GetDiskObjectNew(name);
  66. }
  67. //----------------------------------------------------------------------------
  68. BOOL ADiskObject::PutDefDiskObject ()
  69. {
  70.  return ::PutDefDiskObject(this);
  71. }
  72.  
  73. #endif
  74.